# -*- coding:utf-8 -*-

# 第一个栈临时保存插入的数据，当调用弹出函数的时候，如果stack2不为空则直接弹出；
# 为空则把stack1中的数据全部弹出放到stack2中。
#
# 这样不会存在冲突，而且由于stack2保存的是以前的老数据，弹出一定都符合队列的规律。
class Solution:
    def __init__(self):
        self.a = []
        self.b = []

    def push(self, node):
        # write code here
        self.a.append(node)

    def pop(self):
        # return xx

        if self.b:
            return self.b.pop()
        else:
            while self.a:
                self.b.append(self.a.pop())
            return self.b.pop()
P = Solution()
P.push(10)
P.push(11)
P.push(12)
print(P.pop())
P.push(13)
P.push(14)
print(P.pop())
print(P.pop())
print(P.pop())
print(P.pop())

